As it is generally known, in the area of computer hardware and software systems, the term “visual modeling” generally refers to systems for the graphic representation of display objects using graphical programming languages. Existing visual modeling systems employ languages including General-Purpose Modeling (GPM) languages (e.g., UML), as well as Domain-Specific Modeling (DSM) languages (e.g., SysML).
The use of visual modeling systems currently presents an enormous challenge to visually impaired (e.g. blind) users for many reasons. To a small extent, some existing visual modeling tools are implemented so that a screen reader can audibly describe the model to the user as they navigate via keyboard strokes though the model (visually impaired users typically must use a keyboard for user interface navigation instead of a mouse, since knowing where to click using a mouse is generally not possible for them). However, existing systems have still fallen significantly short in meeting the needs of visually impaired users, as further explained below.
Visually impaired users encounter visual modeling in many areas. For example, when working in the field of software development, visually impaired users encounter visual modeling through UML (Uniform Modeling Language) diagrams, modeling tools like the SOA Modeler from IBM Rational Software®, and even when using presentation tools such as the PowerPoint presentation program from Microsoft Corporation. Existing systems enable the visually impaired user to hear screen reader output describing a visual model designed by another user. However, when it comes to enabling a visually impaired user to define a visual diagram, existing systems exhibit many problems. Specifically, a visually impaired user (e.g. system architect or the like) should, for example, be able to define a UML diagram for their team. The visually impaired user can do so with existing systems to a point at which the output of a screen reader program indicates that the diagram is complete and correct. However, when such a “correct” diagram created by the visually impaired user is displayed for sighted users, it may in fact include objects placed or sized so that they obscure or hide data that is intended to be seen. Specifically, the visually impaired user may inadvertently create the diagram with objects (e.g. boxes) that are overlapping, potentially to the point where the diagram is illegible from a printed or visual standpoint, even though it sounded correct to the visually impaired user when read out through a screen reader program.
It would accordingly be desirable to have a new system for supporting a visually impaired user in creating a visual model that is legible for a sighted user in that the objects that are part of the model are not inadvertently overlapping.